﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ibba.src.DataAccess;
using System.Data;
using ibba.src.global;

namespace ibba.src.norisk.DataAccess
{
    public class CommonDb : DataAccessBase
    {
        public BusinessEntities.ReferenciaProcessamento ObterUltimaDataReferencia()
        {
            List<IDataParameter> parametros = new List<IDataParameter>();

            BusinessEntities.ReferenciaProcessamento retorno = new ibba.src.norisk.BusinessEntities.ReferenciaProcessamento();

            using (AcessoDadosHelper db = new AcessoDadosHelper(GlobalInfo.SISTEMA, GlobalInfo.LOCAL))
            {
                using (IDataReader rdr = db.ExecuteReader(CommandType.StoredProcedure, "DBO.SRCP_OBTER_ULTIMA_REFERENCIA_PROCESSSAMENTO", parametros))
                {
                    while (rdr.Read())
                    {
                        retorno.IdReferencia = (int)ObterValor(rdr, "ID_REFERENCIA");
                        retorno.DataBase = (DateTime)ObterValor(rdr, "DT_BASE");
                        retorno.DataReferencia = (DateTime)ObterValor(rdr, "DT_REFERENCIA");
                    }
                }
            }
            return (retorno);
        }

        public List<BusinessEntities.Origem> ObterOrigens()
        {
            List<BusinessEntities.Origem> retorno = new List<ibba.src.norisk.BusinessEntities.Origem>();

            List<IDataParameter> parametros = new List<IDataParameter>();

            using (AcessoDadosHelper db = new AcessoDadosHelper(GlobalInfo.SISTEMA, GlobalInfo.LOCAL))
            {
                using (IDataReader rdr = db.ExecuteReader(CommandType.StoredProcedure, "DBO.SRCP_LISTAR_ORIGEM_SRC", parametros))
                {
                    while (rdr.Read())
                    {
                        retorno.Add(
                            new BusinessEntities.Origem() 
                            { IdOrigem = (int)base.ObterValor(rdr, "ID_ORIGEM") ,
                               NomeOrigem = (string)base.ObterValor(rdr, "NM_ORIGEM") });
                    }
                }
            }
            return (retorno);
        }
    }
}
